package tech.waterism.dto;

import lombok.Data;

@Data
public class DispatchTempDataDto {

    /**
     * 白山调度规则专用参数
     */
    private TopoObjectDto objectFM;
    private double[] zFM;
    private double[] qInFM;
    private double qInMaxFM;

    /**
     * 白山调度规则专用参数
     */
    private TopoObjectDto objectBS;

    /**
     * 尼尔基调度规则专用参数
     */
    private double[] allQ;// 3站组合
    private double[][] threeQ;// 3站流量
    private boolean isIncrease;// 判断是否为上升段true
    private boolean isBig;// 退水段是否出流大于入流 true
    private int threeMaxNo0;// 齐齐哈尔的峰值 0
    private int frequency;// 洪水分级判定
    private String frequencyComments;// 洪水分级判定备注
    private float sheQ;// 全开时的流量 18000
    private int isProgram;// 判断降雨中心位置 1

    /**
     * 胖头泡应急调度规则专用参数
     */
    private Integer indexObjectFuYu;
    private Integer indexObjectDalai;
    private Integer indexObjectCaiJiaGou;
    private double[][] qThree;
    private double[] fuYuDaLaiQ;
    private int timeNumFuYuDaLaiQMax;
    private Double qDalai;
    private Double qComb;
    private Double qUp;
    private Double qDown;
    private Double zDown;

    /**
     * 蓄滞洪区调度规则专用
     */
    private int indexFen;// 判断分洪方式是否为修改的第一行, 后面计算都按照第一行计算的口门开启个数进行计算
    private int indexPai;// 判断排水口门宽度是否为修改的第一行, 后面计算都按照第一行计算的口门开启个数进行计算
    private boolean isFirst;
    private int indexObjectYueLiangPao;
    private int indexObjectPangTouPao;

    /**
     * 通用参数
     */
    private int[] iGradeData; // {manner, iGrade}
    private int[] checkGradeData; // {manner, iGrade}
    private Boolean doNotCheck;    // 不执行检查
    /**
     * 执行编码
     */
    private String recordNo;
}
